/*
 * ClassPath.h
 *
 *  Created on: Nov 11, 2010
 *      Author: dhovemey
 */

#ifndef CLASSPATH_H_
#define CLASSPATH_H_

#include <vector>
#include <string>
#include "util/Reader.h"

class ClassPath {
private:
	typedef std::vector<std::wstring> DirList;

	DirList m_clsPath;

	ClassPath(const ClassPath &);
	ClassPath& operator=(const ClassPath &);

public:
	ClassPath();
	virtual ~ClassPath();

	static std::string getRelativeFileNameForClassName(const std::wstring &clsName);

	void addDirectory(const std::wstring &dirName);
	bool readSourceForClass(const std::wstring &clsName, Reader *&reader, std::string &fileName) const;
};

#endif /* CLASSPATH_H_ */
